Skill
অ্যাজাক্স (Ajax)

Ajax এর মাধ্যমে JSON ডেটা হ্যান্ডলিং (Handling JSON Data with Ajax)

Web Development - অ্যাজাক্স (Ajax) - NCTB BOOK
Please, contribute to add content into Ajax এর মাধ্যমে JSON ডেটা হ্যান্ডলিং (Handling JSON Data with Ajax).
Content

JSON কী এবং এর ব্যবহার

JSON হলো ডেটা বিনিময়ের জন্য একটি সাধারণ ফরম্যাট, যা মূলত JavaScript এর অবজেক্ট নোটেশন অনুসরণ করে। এটি একটি টেক্সট-ভিত্তিক ডেটা ফরম্যাট, যা মানুষের কাছে সহজবোধ্য এবং যেকোনো প্রোগ্রামিং ভাষার মাধ্যমে সহজেই প্রসেস করা যায়। JSON সাধারণত ওয়েব অ্যাপ্লিকেশনগুলোর মধ্যে ডেটা এক্সচেঞ্জ করতে ব্যবহৃত হয়, বিশেষ করে Ajax রিকোয়েস্টের মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা আদান-প্রদানের ক্ষেত্রে।

JSON এর বৈশিষ্ট্য:

  1. সহজ স্ট্রাকচার:
    • JSON এর স্ট্রাকচার খুবই সহজ। এটি কী-ভ্যালু পেয়ার (key-value pair) ব্যবহার করে ডেটা সঞ্চালনা করে।
  2. পাঠযোগ্য:
    • JSON একটি টেক্সট-ভিত্তিক ফরম্যাট, যা সহজে পড়া এবং বোঝা যায়।
  3. ভাষা নিরপেক্ষ:
    • এটি প্রায় সব প্রোগ্রামিং ভাষার মাধ্যমে পার্স করা যায় এবং ব্যবহার করা যায়, যেমন JavaScript, Python, PHP, Java, ইত্যাদি।
  4. হালকা (Lightweight):
    • XML এর তুলনায় JSON অনেক হালকা এবং দ্রুত প্রসেস করা যায়, যা ওয়েব অ্যাপ্লিকেশনগুলোর জন্য আদর্শ।

JSON এর উদাহরণ:

{
    "name": "John Doe",
    "age": 30,
    "isStudent": false,
    "hobbies": ["reading", "coding", "gaming"],
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "zip": "10001"
    }
}

বিস্তারিত ব্যাখ্যা:

  • Key-Value Pairs: JSON এ ডেটা কী-ভ্যালু পেয়ার হিসেবে থাকে, যেমন "name": "John Doe".
  • Strings: JSON এর স্ট্রিং ভ্যালুগুলো ডাবল কোটেশনের (" ") মধ্যে থাকে।
  • Numbers: সংখ্যা বা নাম্বার ভ্যালু সরাসরি রাখা হয়, যেমন "age": 30.
  • Booleans: JSON এ Boolean ভ্যালু (true/false) সরাসরি রাখা হয়, যেমন "isStudent": false.
  • Arrays: JSON এ অ্যারে (list) ব্যবহার করা যায়, যেমন "hobbies": ["reading", "coding", "gaming"].
  • Objects: JSON এ অবজেক্টের ভেতর অবজেক্ট রাখা যায়, যেমন "address" এর মধ্যে অন্য একটি অবজেক্ট রয়েছে।

JSON এর ব্যবহার:

JSON বিভিন্ন ক্ষেত্রে ব্যবহার করা হয়, বিশেষ করে ওয়েব অ্যাপ্লিকেশনে। নিচে JSON এর কিছু সাধারণ ব্যবহার উল্লেখ করা হলো:

১. API ডেটা আদান-প্রদান:

  • JSON প্রায়শই API (Application Programming Interface) এর মাধ্যমে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়।
  • উদাহরণ: Ajax এর মাধ্যমে যখন আমরা কোনো API কল করি, তখন আমরা সাধারণত JSON ডেটা রিসিভ করি এবং JavaScript এর মাধ্যমে সেই ডেটা প্রসেস করি।

২. ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা এক্সচেঞ্জ:

  • JSON ওয়েব অ্যাপ্লিকেশনে ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়।
  • উদাহরণ: একটি ফর্ম সাবমিট করার পর ক্লায়েন্ট থেকে JSON ডেটা সার্ভারে পাঠানো হয় এবং সার্ভার থেকে JSON রেসপন্স পাওয়া যায়।

৩. ডেটা স্টোরেজ:

  • JSON ফাইল ফরম্যাট হিসেবে ব্যবহার করে ডেটা সঞ্চয় করা যায়। এটি সাধারণত কনফিগারেশন ফাইল বা ডেটা ফাইল হিসেবে ব্যবহৃত হয়।
  • উদাহরণ: config.json, যেখানে অ্যাপ্লিকেশনের কনফিগারেশন সেটিংস সংরক্ষণ করা থাকে।

৪. JavaScript অবজেক্ট হিসেবে JSON:

  • JavaScript এ JSON সহজেই অবজেক্ট হিসেবে ব্যবহার করা যায়। উদাহরণস্বরূপ, JSON.parse() এবং JSON.stringify() মেথড ব্যবহার করে JSON ডেটা অবজেক্টে কনভার্ট করা যায় এবং অবজেক্ট JSON ফরম্যাটে কনভার্ট করা যায়।

JavaScript এ JSON ব্যবহার:

// JSON স্ট্রিং
var jsonString = '{"name": "Jane Doe", "age": 25}';

// JSON স্ট্রিং থেকে JavaScript অবজেক্টে কনভার্ট করা
var jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Output: Jane Doe
console.log(jsonObject.age);  // Output: 25

// JavaScript অবজেক্ট থেকে JSON স্ট্রিং তৈরি করা
var newObject = { name: "John Doe", age: 30 };
var newJsonString = JSON.stringify(newObject);

console.log(newJsonString); // Output: {"name":"John Doe","age":30}

সারসংক্ষেপ:

  • JSON হলো ডেটা বিনিময়ের জন্য একটি সাধারণ, হালকা, এবং ভাষা নিরপেক্ষ ফরম্যাট, যা প্রায় সব আধুনিক প্রোগ্রামিং ভাষা এবং ওয়েব অ্যাপ্লিকেশনে সমর্থিত।
  • JSON API এর মাধ্যমে ডেটা আদান-প্রদান, ডেটা স্টোরেজ, এবং ক্লায়েন্ট ও সার্ভারের মধ্যে ডেটা এক্সচেঞ্জের জন্য ব্যবহৃত হয়।
  • JavaScript এ JSON খুবই সহজে ব্যবহার করা যায়, এবং এর মাধ্যমে আমরা ওয়েব অ্যাপ্লিকেশনগুলোকে ডায়নামিক ও ইন্টারেক্টিভ করতে পারি।

Ajax এর মাধ্যমে JSON Data Request করা

Ajax এর মাধ্যমে JSON ডেটা রিকোয়েস্ট করা হলো ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের একটি সাধারণ এবং গুরুত্বপূর্ণ প্রক্রিয়া। Ajax ব্যবহার করে আমরা একটি API কল করতে পারি এবং JSON ফরম্যাটে ডেটা রিসিভ করে তা প্রসেস করতে পারি। নিচে একটি উদাহরণ সহ JSON ডেটা রিকোয়েস্ট করার ধাপগুলো এবং এর ব্যাখ্যা দেওয়া হলো।

উদাহরণ: Ajax এর মাধ্যমে JSON Data Request করা

HTML (index.html):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON Data Request Example</title>
</head>
<body>
    <h1>Fetch JSON Data Using Ajax</h1>
    <button onclick="fetchData()">Fetch Data</button>
    <div id="data-container">
        <!-- JSON ডেটা এখানে দেখানো হবে -->
    </div>

    <script src="app.js"></script>
</body>
</html>

বিস্তারিত ব্যাখ্যা:

  • এখানে একটি HTML পেজ তৈরি করা হয়েছে যেখানে একটি শিরোনাম (<h1>), একটি বোতাম (<button>), এবং একটি <div> এলিমেন্ট রয়েছে।
  • "Fetch Data" বোতামে ক্লিক করলে fetchData() ফাংশন কল হবে, যা Ajax রিকোয়েস্ট করে JSON ডেটা নিয়ে আসবে।
  • data-container নামে একটি <div> এলিমেন্ট রয়েছে, যেখানে Ajax রিকোয়েস্টের মাধ্যমে প্রাপ্ত JSON ডেটা দেখানো হবে।

JavaScript (app.js):

function fetchData() {
    // XMLHttpRequest অবজেক্ট তৈরি করা
    var xhr = new XMLHttpRequest();
    
    // GET রিকোয়েস্ট ওপেন করা
    xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
    
    // রেসপন্স হ্যান্ডলিং সেট করা
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) { // রিকোয়েস্ট সম্পূর্ণ এবং সফল কিনা তা চেক করা
            var data = JSON.parse(xhr.responseText); // JSON ডেটা প্রসেস করা
            document.getElementById("data-container").innerHTML = `
                <h2>${data.title}</h2>
                <p>${data.body}</p>
            `;
        } else if (xhr.readyState === 4) {
            // যদি রিকোয়েস্ট ব্যর্থ হয়, তাহলে এরর মেসেজ দেখানো
            document.getElementById("data-container").innerHTML = "Error fetching data!";
        }
    };
    
    // রিকোয়েস্ট পাঠানো
    xhr.send();
}

বিস্তারিত ব্যাখ্যা:

  ১. XMLHttpRequest অবজেক্ট তৈরি করা:

  • fetchData() ফাংশনে একটি XMLHttpRequest অবজেক্ট তৈরি করা হয়েছে, যা Ajax রিকোয়েস্ট পরিচালনা করবে।

  ২. রিকোয়েস্ট ওপেন করা:

  • xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true); মেথড ব্যবহার করে একটি GET রিকোয়েস্ট সেটআপ করা হয়েছে।
  • "https://jsonplaceholder.typicode.com/posts/1" URL এ একটি JSON ডেটা ফেচ করা হবে। এটি একটি ডেমো API যা JSON ফরম্যাটে ডেটা প্রদান করে।
  • true মানে রিকোয়েস্টটি অ্যাসিনক্রোনাসভাবে চলবে।

  ৩. রেসপন্স হ্যান্ডলিং:

  • xhr.onreadystatechange ইভেন্ট হ্যান্ডলার ব্যবহার করে চেক করা হয়েছে যে রিকোয়েস্ট সম্পূর্ণ হয়েছে কিনা (xhr.readyState === 4) এবং সফল হয়েছে কিনা (xhr.status === 200)।
  • যদি রিকোয়েস্ট সফল হয়, তাহলে JSON ডেটা JSON.parse(xhr.responseText) ব্যবহার করে JavaScript অবজেক্টে কনভার্ট করা হয়েছে।
  • তারপর, HTML ডকুমেন্টের data-container ডিভে সেই ডেটা দেখানো হয়েছে।
  • যদি রিকোয়েস্ট ব্যর্থ হয়, তাহলে একটি এরর মেসেজ দেখানো হয়েছে।

  ৪. রিকোয়েস্ট পাঠানো:

  • xhr.send(); মেথড ব্যবহার করে রিকোয়েস্টটি সার্ভারে পাঠানো হয়েছে।

সার্ভার রেসপন্স:

এই উদাহরণে, আমরা একটি JSONPlaceholder API ব্যবহার করেছি, যা একটি ডেমো API এবং নিচের মতো JSON ডেটা প্রদান করে:

{
    "userId": 1,
    "id": 1,
    "title": "Sample Title",
    "body": "This is a sample body text."
}

প্রোগ্রামটি কীভাবে কাজ করে:

  1. যখন ইউজার "Fetch Data" বোতামটি ক্লিক করে, তখন fetchData() ফাংশন কল হয়।
  2. ফাংশনটি একটি Ajax রিকোয়েস্ট পাঠায় এবং সার্ভার থেকে JSON ডেটা রিসিভ করে।
  3. রেসপন্স পাওয়ার পর, JSON ডেটা JavaScript অবজেক্টে কনভার্ট করা হয় এবং তা HTML পেজে ইনজেক্ট করা হয়, ফলে ইউজার পেজ রিলোড ছাড়াই সেই ডেটা দেখতে পারে।

সারসংক্ষেপ:

  • Ajax এর মাধ্যমে JSON ডেটা রিকোয়েস্ট: XMLHttpRequest অবজেক্ট ব্যবহার করে একটি GET রিকোয়েস্ট পাঠানো হয়, এবং সার্ভার থেকে JSON ডেটা রিসিভ করা হয়।
  • JSON ডেটা প্রসেসিং: JSON ডেটা JSON.parse() মেথড দিয়ে JavaScript অবজেক্টে কনভার্ট করা হয়।
  • HTML DOM আপডেট করা: প্রাপ্ত JSON ডেটা ব্যবহার করে HTML পেজে নতুন ডেটা ডায়নামিকভাবে যোগ করা হয়।

এই ধাপগুলো অনুসরণ করে আপনি Ajax এর মাধ্যমে JSON ডেটা রিকোয়েস্ট করতে এবং সেটি প্রসেস করে ওয়েব পেজে দেখাতে পারবেন, যা ওয়েব অ্যাপ্লিকেশনকে ডায়নামিক এবং ইন্টারেক্টিভ করে তোলে।

JSON ডেটা প্রসেস করার জন্য এবং তা HTML ডকুমেন্টে দেখানোর জন্য JSON.parse() মেথড এবং JavaScript ব্যবহার করা হয়। JSON.parse() মেথড JSON ফরম্যাটের ডেটাকে JavaScript অবজেক্ট বা অ্যারের মধ্যে কনভার্ট করে, যাতে সেই ডেটা দিয়ে DOM ম্যানিপুলেশন বা অন্যান্য কাজ করা যায়। নিচে একটি উদাহরণসহ JSON ডেটা প্রসেস এবং ডিসপ্লে করার ধাপগুলো ব্যাখ্যা করা হলো।

JSON Parse এবং Data Display উদাহরণ

HTML (index.html):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON Parse and Display Example</title>
</head>
<body>
    <h1>Display JSON Data Using Ajax</h1>
    <button onclick="fetchData()">Fetch Data</button>
    <div id="data-container">
        <!-- JSON ডেটা এখানে দেখানো হবে -->
    </div>

    <script src="app.js"></script>
</body>
</html>

বিস্তারিত ব্যাখ্যা:

  • একটি HTML পেজ তৈরি করা হয়েছে যেখানে একটি শিরোনাম (<h1>), একটি বোতাম (<button>), এবং একটি <div> এলিমেন্ট রয়েছে।
  • "Fetch Data" বোতামে ক্লিক করলে fetchData() ফাংশন কল হবে, যা Ajax রিকোয়েস্ট করে JSON ডেটা ফেচ করবে এবং তা প্রসেস করবে।
  • data-container নামে একটি <div> এলিমেন্ট রয়েছে, যেখানে JSON ডেটা ডিসপ্লে করা হবে।

JavaScript (app.js):

function fetchData() {
    // XMLHttpRequest অবজেক্ট তৈরি করা
    var xhr = new XMLHttpRequest();
    
    // GET রিকোয়েস্ট ওপেন করা
    xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
    
    // রেসপন্স হ্যান্ডলিং সেট করা
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) { // রিকোয়েস্ট সফল এবং সম্পূর্ণ কিনা তা চেক করা
            // JSON ডেটা প্রসেস করা
            var data = JSON.parse(xhr.responseText);
            
            // HTML এ ডেটা দেখানো
            document.getElementById("data-container").innerHTML = `
                <h2>${data.title}</h2>
                <p>${data.body}</p>
            `;
        } else if (xhr.readyState === 4) {
            // যদি রিকোয়েস্ট ব্যর্থ হয়, তাহলে এরর মেসেজ দেখানো
            document.getElementById("data-container").innerHTML = "Error fetching data!";
        }
    };
    
    // রিকোয়েস্ট পাঠানো
    xhr.send();
}

বিস্তারিত ব্যাখ্যা:

১. XMLHttpRequest অবজেক্ট তৈরি করা:

  • fetchData() ফাংশনে একটি XMLHttpRequest অবজেক্ট তৈরি করা হয়েছে, যা Ajax রিকোয়েস্ট পরিচালনা করবে।

২. রিকোয়েস্ট ওপেন করা:

  • xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true); মেথড ব্যবহার করে একটি GET রিকোয়েস্ট সেটআপ করা হয়েছে। "https://jsonplaceholder.typicode.com/posts/1" URL থেকে JSON ডেটা ফেচ করা হবে।
  • true মানে রিকোয়েস্টটি অ্যাসিনক্রোনাসভাবে চলবে।

৩. JSON ডেটা প্রসেস করা:

  • xhr.onreadystatechange ইভেন্ট হ্যান্ডলার ব্যবহার করে চেক করা হয়েছে যে রিকোয়েস্ট সম্পূর্ণ হয়েছে কিনা (xhr.readyState === 4) এবং সফল হয়েছে কিনা (xhr.status === 200)।
  • যদি রিকোয়েস্ট সফল হয়, তাহলে JSON.parse(xhr.responseText) মেথড ব্যবহার করে JSON ডেটা JavaScript অবজেক্টে কনভার্ট করা হয়েছে। এটি করলে আমরা JSON ডেটার ভেতরের ভ্যালুগুলোতে সহজে অ্যাক্সেস করতে পারি।

৪. HTML DOM আপডেট করা:

  • JSON ডেটা থেকে title এবং body প্রপার্টি ব্যবহার করে HTML ডিভ (data-container) আপডেট করা হয়েছে।
  • ডেটা ডায়নামিকভাবে HTML এ ইনজেক্ট করা হয়েছে, যাতে ব্যবহারকারী পেজ রিলোড ছাড়াই সেই ডেটা দেখতে পারেন।

৫. এরর ম্যানেজমেন্ট:

  • যদি রিকোয়েস্ট ব্যর্থ হয় (status !== 200), তাহলে একটি এরর মেসেজ দেখানো হয়েছে।

JSON Data Example:

এই উদাহরণে, আমরা JSONPlaceholder API ব্যবহার করেছি যা নিচের মতো JSON ডেটা প্রদান করে:

{
    "userId": 1,
    "id": 1,
    "title": "Sample Title",
    "body": "This is a sample body text."
}

JSON Parse এবং Data Display এর ধাপগুলো:

  1. Ajax রিকোয়েস্ট পাঠানো: XMLHttpRequest ব্যবহার করে একটি GET রিকোয়েস্ট পাঠানো হয়েছে।
  2. JSON ডেটা রিসিভ করা: সার্ভার থেকে JSON ডেটা রিসিভ হলে তা JSON.parse() মেথড দিয়ে JavaScript অবজেক্টে কনভার্ট করা হয়েছে।
  3. HTML DOM আপডেট করা: JSON ডেটা থেকে প্রয়োজনীয় ভ্যালু নিয়ে HTML ডিভ আপডেট করা হয়েছে।

সারসংক্ষেপ:

  • JSON.parse(): Ajax রিকোয়েস্টের মাধ্যমে প্রাপ্ত JSON স্ট্রিংকে JavaScript অবজেক্টে কনভার্ট করার জন্য ব্যবহৃত হয়।
  • ডেটা ডিসপ্লে: JSON ডেটা থেকে ভ্যালু নিয়ে HTML DOM আপডেট করা হয়, যাতে ডেটা ব্যবহারকারীদের জন্য দেখানো যায়।
  • এরর ম্যানেজমেন্ট: যদি রিকোয়েস্ট ব্যর্থ হয়, একটি এরর মেসেজ দেখানো হয়।

এই ধাপগুলো অনুসরণ করে Ajax এর মাধ্যমে JSON ডেটা ফেচ এবং প্রসেস করা যায় এবং তা HTML ডকুমেন্টে ডায়নামিকভাবে দেখানো যায়, যা ওয়েব অ্যাপ্লিকেশনকে ইন্টারেক্টিভ ও ইউজার-ফ্রেন্ডলি করে।

উদাহরণ সহ JSON ডেটা প্রদর্শন করা

JSON ডেটা Ajax এর মাধ্যমে ফেচ করে HTML এ প্রদর্শন করার জন্য XMLHttpRequest এবং JavaScript এর JSON.parse() মেথড ব্যবহার করা হয়। নিচে একটি পূর্ণাঙ্গ উদাহরণ দেওয়া হলো যেখানে একটি API থেকে JSON ডেটা ফেচ করা হয় এবং তা HTML ডকুমেন্টে ডায়নামিকভাবে দেখানো হয়।

উদাহরণ: JSON ডেটা প্রদর্শন করা

HTML (index.html):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON Data Display Example</title>
</head>
<body>
    <h1>Display JSON Data Using Ajax</h1>
    <button onclick="fetchData()">Fetch Data</button>
    <div id="data-container">
        <!-- JSON ডেটা এখানে দেখানো হবে -->
    </div>

    <script src="app.js"></script>
</body>
</html>

বিস্তারিত ব্যাখ্যা:

  • HTML পেজে একটি শিরোনাম (<h1>), একটি বোতাম (<button>), এবং একটি <div> এলিমেন্ট রয়েছে।
  • "Fetch Data" বোতামে ক্লিক করলে fetchData() ফাংশন কল হবে, যা Ajax রিকোয়েস্ট করে JSON ডেটা নিয়ে আসবে এবং তা প্রসেস করবে।
  • data-container নামে একটি <div> এলিমেন্ট রয়েছে, যেখানে JSON ডেটা ডিসপ্লে করা হবে।

JavaScript (app.js):

function fetchData() {
    // XMLHttpRequest অবজেক্ট তৈরি করা
    var xhr = new XMLHttpRequest();
    
    // GET রিকোয়েস্ট ওপেন করা
    xhr.open("GET", "https://jsonplaceholder.typicode.com/users/1", true);
    
    // রেসপন্স হ্যান্ডলিং সেট করা
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) { // রিকোয়েস্ট সফল এবং সম্পূর্ণ কিনা তা চেক করা
            // JSON ডেটা প্রসেস করা
            var user = JSON.parse(xhr.responseText);
            
            // HTML এ ডেটা দেখানো
            document.getElementById("data-container").innerHTML = `
                <h2>User Information</h2>
                <p><strong>Name:</strong> ${user.name}</p>
                <p><strong>Email:</strong> ${user.email}</p>
                <p><strong>Address:</strong> ${user.address.street}, ${user.address.city}</p>
                <p><strong>Phone:</strong> ${user.phone}</p>
            `;
        } else if (xhr.readyState === 4) {
            // যদি রিকোয়েস্ট ব্যর্থ হয়, তাহলে এরর মেসেজ দেখানো
            document.getElementById("data-container").innerHTML = "Error fetching data!";
        }
    };
    
    // রিকোয়েস্ট পাঠানো
    xhr.send();
}

বিস্তারিত ব্যাখ্যা:

১. XMLHttpRequest অবজেক্ট তৈরি করা:

  • fetchData() ফাংশনে একটি XMLHttpRequest অবজেক্ট তৈরি করা হয়েছে, যা Ajax রিকোয়েস্ট পরিচালনা করবে।

২. রিকোয়েস্ট ওপেন করা:

  • xhr.open("GET", "https://jsonplaceholder.typicode.com/users/1", true); মেথড ব্যবহার করে একটি GET রিকোয়েস্ট সেটআপ করা হয়েছে।
  • https://jsonplaceholder.typicode.com/users/1 URL থেকে JSON ডেটা ফেচ করা হবে। এটি একটি ডেমো API যা ইউজারের তথ্য JSON ফরম্যাটে প্রদান করে।
  • true মানে রিকোয়েস্টটি অ্যাসিনক্রোনাসভাবে চলবে।

৩. JSON ডেটা প্রসেস করা:

  • xhr.onreadystatechange ইভেন্ট হ্যান্ডলার ব্যবহার করে চেক করা হয়েছে যে রিকোয়েস্ট সম্পূর্ণ হয়েছে কিনা (xhr.readyState === 4) এবং সফল হয়েছে কিনা (xhr.status === 200)।
  • যদি রিকোয়েস্ট সফল হয়, তাহলে JSON.parse(xhr.responseText) মেথড ব্যবহার করে JSON ডেটা JavaScript অবজেক্টে কনভার্ট করা হয়েছে। এটি করলে আমরা JSON ডেটার প্রপার্টিগুলোর ভ্যালুতে সহজেই অ্যাক্সেস করতে পারি।

৪. HTML DOM আপডেট করা:

  • JSON ডেটা থেকে প্রাপ্ত ইউজারের তথ্য HTML এ ইনজেক্ট করা হয়েছে। এখানে ইউজারের নাম, ইমেইল, ঠিকানা, এবং ফোন নম্বর দেখানো হয়েছে।

৫. এরর ম্যানেজমেন্ট:

  • যদি রিকোয়েস্ট ব্যর্থ হয় (যেমন status !== 200), তাহলে একটি এরর মেসেজ দেখানো হয়েছে।

JSON Data Example:

এই উদাহরণে আমরা JSONPlaceholder API ব্যবহার করেছি যা নিচের মতো JSON ডেটা প্রদান করে:

{
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz",
    "address": {
        "street": "Kulas Light",
        "suite": "Apt. 556",
        "city": "Gwenborough",
        "zipcode": "92998-3874"
    },
    "phone": "1-770-736-8031 x56442",
    "website": "hildegard.org",
    "company": {
        "name": "Romaguera-Crona",
        "catchPhrase": "Multi-layered client-server neural-net",
        "bs": "harness real-time e-markets"
    }
}

JSON ডেটা প্রসেস এবং প্রদর্শন করার ধাপ:

  1. Ajax রিকোয়েস্ট পাঠানো: XMLHttpRequest ব্যবহার করে একটি GET রিকোয়েস্ট পাঠানো হয়েছে।
  2. JSON ডেটা রিসিভ করা: সার্ভার থেকে JSON ডেটা রিসিভ হলে তা JSON.parse() মেথড দিয়ে JavaScript অবজেক্টে কনভার্ট করা হয়েছে।
  3. HTML DOM আপডেট করা: JSON ডেটা থেকে প্রয়োজনীয় ইনফরমেশন নিয়ে HTML ডিভ আপডেট করা হয়েছে, যাতে ইউজারের তথ্য ডায়নামিকভাবে পেজে দেখানো যায়।

সারসংক্ষেপ:

  • Ajax এর মাধ্যমে JSON ডেটা রিকোয়েস্ট: XMLHttpRequest অবজেক্ট ব্যবহার করে GET রিকোয়েস্ট পাঠিয়ে JSON ডেটা ফেচ করা হয়েছে।
  • JSON.parse(): JSON স্ট্রিংকে JavaScript অবজেক্টে কনভার্ট করতে ব্যবহৃত হয়েছে, যাতে ডেটা প্রসেস এবং ডিসপ্লে করা যায়।
  • ডেটা ডিসপ্লে: JSON ডেটা থেকে ভ্যালু নিয়ে HTML ডিভে ইনজেক্ট করা হয়েছে, যাতে ব্যবহারকারীরা ডেটা দেখতে পারেন।

এই উদাহরণটি অনুসরণ করে Ajax এর মাধ্যমে JSON ডেটা ফেচ, প্রসেস, এবং HTML এ দেখানোর প্রক্রিয়া সহজে বোঝা যায়। এটি ওয়েব অ্যাপ্লিকেশনকে ডায়নামিক এবং ইন্টারেক্টিভ করতে সাহায্য করে।

Promotion